JavaScript Comparison and Logical Operators

您所在的位置:网站首页 what is logical JavaScript Comparison and Logical Operators

JavaScript Comparison and Logical Operators

2023-08-04 19:57| 来源: 网络整理| 查看: 265

JavaScript Comparison and Logical Operators ❮ Previous Next ❯

Comparison and Logical operators are used to test for true or false.

Comparison Operators

Comparison operators are used in logical statements to determine equality or difference between variables or values.

Given that x = 5, the table below explains the comparison operators:

Operator Description Comparing Returns Try it == equal to x == 8 false Try it » x == 5 true Try it » x == "5" true Try it » === equal value and equal type x === 5 true Try it » x === "5" false Try it » != not equal x != 8 true Try it » !== not equal value or not equal type x !== 5 false Try it » x !== "5" true Try it » x !== 8 true Try it » > greater than x > 8 false Try it » = greater than or equal to x >= 8 false Try it » How Can it be Used

Comparison operators can be used in conditional statements to compare values and take action depending on the result:

if (age < 18) text = "Too young to buy alcohol";

You will learn more about the use of conditional statements in the next chapter of this tutorial.

Logical Operators

Logical operators are used to determine the logic between variables or values.

Given that x = 6 and y = 3, the table below explains the logical operators:

Operator Description Example Try it && and (x < 10 && y > 1) is true Try it » || or (x == 5 || y == 5) is false Try it » ! not !(x == y) is true Try it » Conditional (Ternary) Operator

JavaScript also contains a conditional operator that assigns a value to a variable based on some condition.

Syntax variablename = (condition) ? value1:value2  Example let voteable = (age < 18) ? "Too young":"Old enough"; Try it Yourself »

If the variable age is a value below 18, the value of the variable voteable will be "Too young", otherwise the value of voteable will be "Old enough".

Comparing Different Types

Comparing data of different types may give unexpected results.

When comparing a string with a number, JavaScript will convert the string to a number when doing the comparison. An empty string converts to 0. A non-numeric string converts to NaN which is always false.

Case Value Try 2 < 12 true Try it » 2 < "12" true Try it » 2 < "John" false Try it » 2 > "John" false Try it » 2 == "John" false Try it » "2" < "12" false Try it » "2" > "12" true Try it » "2" == "12" false Try it »

When comparing two strings, "2" will be greater than "12", because (alphabetically) 1 is less than 2.

To secure a proper result, variables should be converted to the proper type before comparison:

age = Number(age); if (isNaN(age)) {   voteable = "Input is not a number"; } else {   voteable = (age < 18) ? "Too young" : "Old enough"; } Try it Yourself » The Nullish Coalescing Operator (??)

The ?? operator returns the first argument if it is not nullish (null or undefined).

Otherwise it returns the second argument.

Example let name = null; let text = "missing"; let result = name ?? text; Try it Yourself »

The nullish operator is supported in all browsers since March 2020:

Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67 Feb 2020 Feb 2020 Jan 2020 Mar 2020 Mar 2020 The Optional Chaining Operator (?.)

The ?. operator returns undefined if an object is undefined or null (instead of throwing an error).

Example // Create an object: const car = {type:"Fiat", model:"500", color:"white"}; // Ask for car name: document.getElementById("demo").innerHTML = car?.name; Try it Yourself »

The optional chaining operator is supported in all browsers since March 2020:

Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67 Feb 2020 Feb 2020 Jan 2020 Mar 2020 Mar 2020 ❮ Previous Next ❯


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3